"MEGAFLOP" Benchmark Program ---------------------------- MEGAFLOP is an MS-DOS program that measures a computer's speed in executing floating point instructions. These instructions are common in scientific, technical, and engineering computer applications, and in some spread- sheets. Other benchmark programs, such as Landmark and Norton's SI, do not evaluate floating point speed. MEGAFLOP runs on MS-DOS computers with an 80286, 80386, or 80486 processor. An Intel compatible math coprocessor chip will be used if available; it will greatly improve your system's floating point speed. The program measures system speed in "megaflops", which are units of one million floating point operations per second. A floating point operation, or "FLOP", is an instruction such as a floating point add, subtract, multiply, divide, or square root, or a trigonometric function such as cosine. Instructions such as floating point loads and stores are not FLOPs. When you run MEGAFLOP, the first thing it does is a simple test to find out if the FFT is producing accurate numerical results. It will print a message if the results are inaccurate; this may indicate that your computer is malfunctioning. If your system is otherwise running properly, and it has a coprocessor, and MEGAFLOP detects errors, the coprocessor may be defective or improperly installed. MEGAFLOP then does the speed test using a series of FFT calculations. The FFT's will be done until at least 5 seconds have elapsed. The test may take up to 1 minute if you are using a slow machine like a 8 MHz 80286. Most computers without a coprocessor run at less than .025 megaflops, while those with a math chip run faster than .100 megaflop. A 25 Mhz 80486 system runs about 1 megaflop; it has floating point instructions on the main processor chip. MEGAFLOP determines your system's speed by counting the number of floating point instructions executed by a known algorithm, a Fast Fourier Transform (FFT), in a measured period of time. For those who want technical details, the main part of the program is written in Microsoft C. The FFT is done with the CFFT2F function in the shareware "FFT86" library (available in the CompuServe Microsoft Languages forum library, C section, GO MSLANG). The FFT is a radix-2 Cooley-Tukey algorithm which does an in-place transform on a complex data array. The FFT is written in assembler. Both forward and inverse trans- forms are done on an array of 1024 complex numbers. The array actually contains 2048 single precision (4 byte) floating point numbers. Each FFT function call executes an average of 54,273 FLOPS, mostly adds, subtracts, and multiplies, with frequent memory reads and writes. Very few trigonometric instructions are executed. Several FFT's are done to insure that the time used is at least 5 seconds, which results in an accurate time measurement. MEGAFLOP uses the Microsoft floating point emulation library, which has about a 6% overhead penalty in running software on a computer equipped with a math coprocessor. The emulation library will use an Intel compatible coprocessor if it is available, otherwise it will emulate coprocessor instructions with software. MEGAFLOP would actually run about 6% faster on systems with coprocessors if did not use the Microsoft emulation library, but then it would be unable to run on systems lacking the coprocessor. MEGAFLOP is free and may be used by all, however a small donation would be appreciated. You may upload this program and its documentation to your local BBS, and give copies to others. Shareware dealers may charge a small fee for distributing MEGAFLOP, which when prorated to the MEGAFLOP program may not exceed $9. For more information on MEGAFLOP or the FFT86 library, phone the author, Barrie Walker, at (604) 858-0832 or write to Vectorplex Systems, 7572 Sapphire Drive, Sardis, B.C. V2R 3A7, Canada. CompuServe userid is 70322,3532 (not yet a frequent CompuServe user). If your computer's MEGAFLOP speed is not on the list below, please send the data to the author. Speed in Megaflops of Various MS-DOS Computers: ----------------------------------------------- Computer Type cache MEGA- FFT processor/MHz memory Math Chip FLOPS Time Comments ---------------- ------ ---------- ----- ------ ----------------------------------- AST Bravo 486/25 8K int in 486 1.131 .048 80486/25 is top dog, so far clone 286/20 none none .011 4.970 clone 286/10 none none .005 9.970 clone 486/33 ? in 486 ? ? We all want one. clone 486SX/20 ? none ? ? clone 386/33 ? Intel387 ? ? clone 386/33 ? Cyrix387 ? ? clone 386/33 ? IIT387 ? ? clone 386/33 ? none ? ? clone AMD386/40 ? ? ? ? clone 386SX/20 ? 387SX ? ? clone 386SX/20 ? none ? ? clone 286/20 none Intel287XL ? ? clone 286/20 none AMD287/10 ? ? clone 286/12 none none ? ? a common computer